from django.db import models

# Create your models here.


class Grades(models.Model):
    gname = models.CharField(max_length=20)
    gdate = models.DateField()
    ggirlnum = models.IntegerField()
    gboynum = models.IntegerField()
    isDelete = models.BooleanField(default=False)
    def __str__(self):
        return self.gname

# 设置数据库表名和相应规则
    class Meta:
        # 设置表名
        db_table = 'grades'
        # 设置排序方式
        ordering = ['id']


class StudentsManager(models.Manager):
    # 自定义管理器,对管理器的父类进行重写
    def get_queryset(self):
        return super(StudentsManager, self).get_queryset().\
            filter(isDelete=False)


class Students(models.Model):

    # 自定义模型管理器   自定义自定义之后之前的objects就无法使用了
    # 后在views.py中调用时使用
    stuObj = models.Manager()

    # 向管理器中添加额外的方法
    stuObj2 = StudentsManager()

    # 定义属性 相当于数据库中的表中的列名
    sname = models.CharField(max_length=20)
    ssex = models.CharField(max_length=10)
    sage = models.IntegerField()
    scontend = models.CharField(max_length=20)
    isDelete = models.BooleanField(default=False)
    #关联外键
    sgrade = models.ForeignKey('Grades', on_delete=models.CASCADE)
    def __str__(self):
        return self.sname

    # 设置数据库表名和相应规则
    class Meta:
        # 设置表名
        db_table = 'students'
        # 设置排序方式
        ordering = ['id']
